﻿using Nemerle.Assertions;
using System;

class NotNullContract
{
  SecurePrint([NotNull] data : string) : void
    requires data.Length > 0 
  {
    Console.WriteLine(data);
  }
  
  public SecureSecure() : void
  {
    try {
      SecurePrint(null);
    } catch {
      | _ is ArgumentNullException => Console.WriteLine("WTF!?");
    }
  }
}